简介
OpenFalcon是一款企业级、高可用、可扩展的开源监控解决方案。
环境准备
当前平台相关组件部署在OAM主机,其余主机均部署agent.
redis
1 | yum install -y redis |
mysql
安装MySQL
1 | yum install -y mysql-server |
初始化MySQL表结构
1 | cd /tmp/ && git clone https://github.com/open-falcon/falcon-plus.git |
注意,请确保redis和MySQL已启动。
后端
创建工作目录
1 | export FALCON_HOME=/usr/local |
修改配置文件
修改所有组件的MySQL信息root:password
启动
1 | cd $WORKSPACE |
Agent
简介
agent用于采集机器负载监控指标,比如cpu.idle、load.1min、disk.io.util等等,每隔60秒push给Transfer。agent与Transfer建立了长连接,数据发送速度比较快,agent提供了一个http接口/v1/push用于接收用户手工push的一些数据,然后通过长连接迅速转发给Transfer。
部署说明
agent需要部署到所有要被监控的机器上,比如公司有10万台机器,那就要部署10万个agent。agent本身资源消耗很少,不用担心。
配置文件
1 | { |
进程管理
1 | ./open-falcon start agent 启动进程 |
前端
克隆前端组件代码
1 | cd $WORKSPACE |
安装依赖包
1 | yum install -y python-virtualenv |
修改配置
1 | dashboard的配置文件为: 'rrd/config.py',请根据实际情况修改 |
启动
开发者模式启动
1 | ./env/bin/python wsgi.py |
生产环境启动
1 | bash control start |
停止dashboard运行
1 | bash control stop |
查看日志
1 | bash control tail |
dashbord用户管理
dashbord没有默认创建任何账号包括管理账号,需要你通过页面进行注册账号。
想拥有管理全局的超级管理员账号,需要手动注册用户名为root的账号(第一个帐号名称为root的用户会被自动设置为超级管理员)。
超级管理员可以给普通用户分配权限管理。
小提示:注册账号能够被任何打开dashboard页面的人注册,所以当给相关的人注册完账号后,需要去关闭注册账号功能。只需要去修改api组件的配置文件cfg.json,将signup_disable配置项修改为true,重启api即可。当需要给人开账号的时候,再将配置选项改回去,用完再关掉即可。
初次使用
注册管理员账号
访问dashboard主机8081端口,点击”sign up”
用户名必须为root
个人信息维护
注意填写邮箱地址和IM信息,IM部分可以写微信号,这些信息为以后的报警通知使用。
Dashboard 使用介绍
- 左边的侧边栏会显示所有加入的agent主机,或者自定义的endpoint。
- 右中间位置limit50表示显示50行内容,可以自行选择。
- 右下方是endpiont的监控项目,选中后点击看图即可画图。
画图示例
1、选中监控项,点击选择看图视角
2、这样图就出来啦
另外还可以自定义screen,此处不再具体介绍
hostgroup
简单说就是主机组,然后绑定模板
hostgroup-》Add host
template
Like this.
监控使用
参考 http://book.open-falcon.org/zh_0_2/usage/getting-started.html
报警组件
报警部分分为邮件和微信报警,其中微信报警。启动邮件报警部分有点特殊,因为阿里云机器默认是不允许开发25端口的,因此只能使用ssl的456端口。但是问题又来了,官方的组件不支持ssl。因此对于这个问题只能是重新编译。
邮件
https://github.com/GitHamburg/mail-provider.git
1.二进制安装(推荐)
下载编译好的二进制
1 | wget http://cactifans.hi-www.com/open-falcon/mail-provider.tar.gz |
修改cfg.json文件相关信息,使用1
./control start
2.源码编译(如无科学上网方法,请勿尝试)
下载之后为源码,安装golang环境,环境配置参考golang环境配置 编译方法1
2
3
4
5
6
7cd $GOPATH/src
mkdir github.com/open-falcon/ -p
cd github.com/open-falcon/
git clone https://github.com/GitHamburg/mail-provider.git
cd mail-provider
go get ./...
./control build
编译成功之后,修改cfg.json文件相关信息,使用1
./control start
3、使用方法
坐着说可以发送给多人,但是实际curl使用的时候发现并不可以。1
curl http://$ip:4000/sender/mail -d "tos=a@a.com&subject=xx&content=yy"
微信
https://github.com/Yanjunhui/chat.git
一.申请企业号
以个人邮箱申请就可以, 不通过企业认证的话,有200人的限制,一般足够用了
二.获取对接权限
1、获取corpid
登录后,我的企业 —-> 企业信息 –> CorpID
将 CorpID 配置到配置文件 config.conf 内 的 CorpID
2、开启回调模式获取key
登录后,顶部菜单[企业应用] —-> 添加应用
进入新添加的应用
拿到 AgentId 和 Secret
3、关注微信公众号
使用微信关注企业号才可以从微信收到信息,否则只能从微信企业号 APP 中收到信息
三、使用
1 | git clone https://www.github.com/yanjunhui/chat.git |
修改chat配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13#http 服务端口
[http]
port = 4567
#微信接口信息
[weixin]
CorpID = xxxxxx
#ID 应用ID
AgentId = 1
# Secret
Secret = xxxxxxx
#最后一个无所谓
EncodingAESKey = wodH5dMSQtlfySHED5dkk6dF7saukFpPxlwhWRsVeEn
1 | 打开目录 cd chat |
但是更新了版本,不知道为啥不正常,发布了微信。
推荐另一种方式,更好调试。
Falcon-wechat
1 | mkdir -p /usr/local/falcon-wechat |
1 | { |
然后修改alarm接口,重启即可,还能看日志。
https://www.cactifans.org/open-falcon/1788.html
相关资料
http://book.open-falcon.org/zh_0_2/
https://github.com/open-falcon/falcon-plus